using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace PlainConcepts.Fx.Dnie.SmartCard.Interop
{
	[StructLayout(LayoutKind.Sequential)]
	class PCSCOpenCardNameWEx
	{
		protected UInt32 structSize;
		public IntPtr pcscContext;
		public IntPtr windowOwnerHandle;
		public UInt32 flags;
		[MarshalAs(UnmanagedType.LPWStr)]
		public string title;
		[MarshalAs(UnmanagedType.LPWStr)]
		public string searchDescription;
		public IntPtr iconHandle;
		public IntPtr ocsc;
		public IntPtr connectFunction;
		public IntPtr userData;
		public UInt32 shareMode;
		public UInt32 preferredProtocols;
		[MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 13)]
		public string reader;
		public UInt32 maxReaderLength;
		[MarshalAs(UnmanagedType.LPWStr, SizeParamIndex = 15)]
		public string card;
		public UInt32 maxCardLength;
		public UInt32 activeProtocol;
		public IntPtr cardHandle;
	}
}
